home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 726-750 / 745 / arexxbox / history.txt < prev    next >
Text File  |  1995-03-18  |  8KB  |  196 lines

  1. History of ARexxBox Releases
  2. ----------------------------
  3.  
  4. V0.99       erster Beta-Release
  5.  
  6. V0.99a      FIXED: Argument- und Resultat-Liste konnte mit
  7.         ungültigem Kommando arbeiten -> Enforcer-Hit/Absturz.
  8.         (Report: RALF_KAISER@AWORLD)
  9.  
  10. V0.99b      ENHANCED: GadToolsBox-Source fixed um den System Default
  11.         Font statt des Screenfonts für Layout und Gadgets zu
  12.         benutzen.
  13.         (Report: SYSOP@INSIDER [Garry Glendown])
  14.  
  15. V0.99c      FIXED: Für Argumente wurde das Gleichheitszeichen
  16.         nicht zugelassen.
  17.         
  18.         FIXED: Nach Änderung eines Argumentes oder
  19.         Resultates verbleibt die Anzeige auf diesem Element
  20.         statt (wie bisher) das letzte Listenelement
  21.         anzuzeigen.
  22.         
  23.         FIXED: In den Font-Routinen war noch ein Fehler.
  24.         (Report: F.J.Reichert [F_J_REICHERT@SAARAG])
  25.  
  26. V0.99d      FIXED: Alle Pointer-Conversions bereinigt. Der Code wird
  27.         jetzt selbst bei Compiler 'superscharf' völlig ohne
  28.         Warnings durchgezogen.
  29.         Pragma-#includes und _toupper() nun auch für SAS/C drin.
  30.         (Report: W_KUETING@HSP)
  31.         
  32.         --- V0.99d wurde nicht verteilt! ---
  33.         
  34. V0.99e      FIXED: Wenn _kein_ Resultatfeld belegt war, wurde ein
  35.         "out of memory"-Fehler erzeugt.
  36.         
  37.         ENHANCED: ReplyRexxCmd() erzeugt nun die Variable RC2, sie
  38.         enthält den "Secondary Returncode", der in jeder
  39.         rxif-Struktur unter dem Namen rc2 steht. Diese
  40.         Variable kann z.B. benutzt werden, um detaillierte
  41.         Fehlercodes an das Rexxprogramm zurückzugeben.
  42.         
  43.         Dieses Feature ist eine Erweiterung der Style-Guide-
  44.         Richtlinien, m.E. eine sinnvolle. Wenn jemand anderer
  45.         Ansicht ist, bitte Mail an mich!
  46.         
  47.         RC2 wird nur erzeugt, wenn a) Resultate erwünscht sind und
  48.         b) RC != 0 ist. Das Feld rc2 kann sowohl einen Fehlercode
  49.         (long, default) als auch eine Fehlerbeschreibung (char *)
  50.         enthalten. Unterschieden wird anhand des Vorzeichens von rc,
  51.         d.h. rc < 0 <=> rc2 long bzw. rc > 0 <=> rc2 char *.
  52.         Negatives rc wird vor der Rückgabe nach positiv gewandelt.
  53.         
  54.         Beispiel für FehlerCODE:
  55.         rd->rc = 10;
  56.         rd->rc2 = ERROR_OBJECT_NOT_FOUND;
  57.         
  58.         Beispiel für FehlerSTRING:
  59.         rd->rc = -10;
  60.         rd->rc2 = (long) "Objekt nicht gefunden!";
  61.         
  62.         Die Standard-Fehlerstrings sind _nicht_ lokalisiert. Wenn sich
  63.         C= mal bequemt, mir Infos und Werkzeuge dafür zu schicken,
  64.         werde ich das natürlich nachholen.
  65.  
  66.         ENHANCED: SendRexxCommand() nimmt jetzt zur besseren
  67.         Unterstützung des Standardbefehls "RX" (zum Starten
  68.         von ARexx-Programmen) einen zusätzlichen Parameter,
  69.         ein FileHandle (BPTR!), der als Stdin/Stdout für das
  70.         Script eingesetzt wird. FreeRexxCommand() übernimmt das
  71.         Schließen des Kanals.
  72.         
  73.         Außerdem liefert SendRexxCmd() nun die Adresse der abge-
  74.         schickten RexxMsg zurück (oder NULL wenn Fehler).
  75.         
  76.         ENHANCED: Die RexxHost-Struktur hat jetzt ein zusätzliches
  77.         Feld namens "APTR userdata". Es kann z.B. benutzt werden, um
  78.         in einen RexxHost einen Zeiger auf eine eigene Projekt-
  79.         Verwaltungs-Struktur einzuhängen o.ä., um den Host ein-
  80.         deutig einem offenen Projekt zuzuordnen.
  81.         
  82.         ENHANCED: Jeder Befehl hat jetzt ein globales "enabled"-
  83.         Flag, wenn dies gelöscht ist, verweigert der Dispatcher
  84.         die Ausführung des Befehls. Dieses Flag sollte mit den
  85.         Standard-ARexx-Befehlen (Style Guide) ENABLE und DISABLE
  86.         beeinflussbar sein (siehe rxif/*.c).
  87.         
  88.         CHANGED: CommandShells benötigen jetzt einen eigenen
  89.         RexxHost auf dem sie alleine arbeiten können. D.h.
  90.         der dafür bereitgestellte Host DARF NICHT gleichzeitig
  91.         als normaler ARexx-Port benutzt werden. Eine abwechselnde
  92.         Benutzung als ARexx- und Cmd-Port ist denkbar, aber nicht
  93.         empfehlenswert...
  94.         
  95.         ENHANCED: Damit einhergehend bekommt nun jede rxif-Funktion
  96.         den RexxHost des ARexx-Ports bzw. der CmdShell als
  97.         (ersten) Parameter (host) übergeben. Dadurch kann
  98.         die Funktion z.B. entscheiden, zu welchem Projekt der
  99.         Befehl ausgeführt werden soll.
  100.         
  101.         ENHANCED: Ebenfalls damit einhergehend existiert jetzt zur
  102.         Unterstützung des Standardbefehls CMDSHELL in jedem
  103.         RexxHost ein Flag (ARB_HF_CMDSHELL), das anzeigt, ob der
  104.         Host gerade eine CommandShell fährt. Wenn dieses Flag
  105.         (durch CMDSHELL CLOSE) gelöscht wird, terminiert die ARexx-
  106.         Box die CommandShell.
  107.         
  108.         FIXED: Aus Spaces oder nur aus Optionen bestehende
  109.         Argument- bzw. Resultatfeldnamen werden nicht mehr
  110.         akzeptiert.
  111.         
  112.         CHANGED: Da einige rxif-Funktionen darauf zugreifen
  113.         müssen ist "struct rxs_command" und "rxs_commandlist"
  114.         nun im Headerfile definiert. Für den Zugriff auf die
  115.         Liste (finden eines Kommandos) ist eine neue Funktion
  116.         da:
  117.         struct rxs_command *FindRXCommand( char *name );
  118.         
  119.         FIXED: Argumente mit '=' wurden nicht korrekt in
  120.         C-Variablennamen umgesetzt. Nun wird der letzte
  121.         Alias als Variablenname benutzt.
  122.         
  123.         ENHANCED: Es gibt jetzt eine eigene Handlerfunktion
  124.         für dem Parser unbekannte Kommandos:
  125.         char *ExpandRXCommand( struct RexxHost *host,
  126.                        char *commandline );
  127.         Diese wird aufgerufen, bevor der Parser "Not implemented"
  128.         als Fehler ausgibt. Wenn die Funktion NULL zurückgibt,
  129.         wird der Fehler ausgegeben, ansonsten versucht der
  130.         Parser, den zurückgegebenen String zu analysieren.
  131.         Diese Funktion kann z.B. die Expansion von Aliases
  132.         oder die Bearbeitung von Non-Standard-Kommandos über-
  133.         nehmen.
  134.         
  135.         Achtung! Es wird erwartet, daß Expand() eigens
  136.         Speicher für den Resultatstring allokiert, dieser
  137.         wird von den ARB-Routinen dann freigegeben!
  138.         
  139.         ENHANCED: Die Checks beim Generieren der Source-
  140.         Module sind jetzt sicherer. Es wird nun auch auf
  141.         Existenz des C- und H-Moduls geprüft.
  142.         
  143.         NOTE: Als ich die vom Style Guide vorgeschlagenen
  144.         Standardkommandos eingab, sah ich, daß die Argumente
  145.         "VAR" und "STEM" an einer Stelle auch dazu benutzt
  146.         werden, die EINgabe der Funktion von den damit be-
  147.         nannten Variablen zu holen. Ich weiß nicht, ob das so
  148.         eine glückliche Wahl ist, da man auf diese Art&Weise
  149.         keine Resultate mehr haben kann. Besser wäre eine
  150.         andere Benennung, z.B. "FROMVAR" und "FROMSTEM".
  151.         Vorschläge?
  152.         
  153.         Die ARB kümmert sich wenig um die bereits eingegebenen
  154.         Argumente, wenn Resultatfelder existieren, werden
  155.         VAR und STEM immer in das Template aufgenommen.
  156.         
  157.         Allgemein sind einige Definitionen an der Stelle im
  158.         Style Guide sehr ungenau oder unzureichend. Ich habe
  159.         die Definition (sinnvoll) erweitert. Wer mit meinen
  160.         Änderungen nicht einverstanden ist, soll sich bitte
  161.         melden.
  162.         
  163.         NOTE: Beim übernehmen alter Interface-Routinen daran
  164.         denken, daß ein neuer Parameter dazu gekommen ist!
  165.         
  166.         FIXED: Numerische Resultate funktionieren jetzt.
  167.  
  168. V0.99f        ENHANCED: Es werden zwei FileRequester verwendet,
  169.         einer für Binaries und einer für Sourcen. Die Patterns
  170.         bleiben nun erhalten und sind standardmässig mit #?
  171.         statt *.
  172.         (Report: Stefan Zeiger)
  173.         
  174.         FIXED: Window-Topedge ist nun Fontsensitiv.
  175.         (Report: Stefan Zeiger)
  176.         
  177. V0.99g        FIXED: Beim Parsen der Argumente wird nun der von
  178.         ReadArgs() erzeugte Fehlercode als rc2 benutzt.
  179.         
  180.         CHANGED: Den Templates wird nun vor dem Parsen kein
  181.         \n mehr angehängt (unnötig).
  182.         
  183.         CHANGED: Die ARexxBox benutzt nun den ASL-Filerequester.
  184.         (Wunsch: Garry Glendown [Sysop@Insider])
  185.         
  186. V1.00         ENHANCED: Source wird nun auch vom GCC fehlerfrei
  187.         und warnungsfrei übersetzt - naja, fast warnungsfrei.
  188.         Die verbleibenden Warnungen können aber getrost
  189.         ignoriert werden.
  190.         
  191.         CHANGED: FindRXCommand() akzeptiert nur noch echte
  192.         Abkürzungen der vorhandenen Befehle.
  193.         
  194. --- ERSTER ÖFFENTLICHER RELEASE ---
  195.         
  196.